#include "shapes.h"
#include "canvas.h"
#include "canvas_terminal_impl.h"
#include <iostream>

int main()
{
	using std::cin;

	CanvasTerminalImpl canvasimpl;
	ICanvasImpl* impl = &canvasimpl;
	Canvas canvas(impl);
	canvas.init(24, 80);
	//canvas.init();
	canvas.clean();

	Dot d1(&canvas, Point(30, 14));
	d1.draw();

	Line(&canvas, Point(10, 20), Point(40, 20)).draw('-');
	Line(&canvas, Point(10, 20), Point(10, 10)).draw('|');
	Dot(&canvas, Point(10, 20)).draw('+');

	Rectangle(&canvas, Point(4, 3), Point(30, 16)).draw(0);
	Rectangle(&canvas, Point(1, 1), Point(80, 24)).draw(0);

	Dot(&canvas, Point(80, 24)).draw('x');
	cin.get();
	return 0;
}
